package net.adetech.dcweb.core.dc.entity;

import com.alibaba.fastjson.annotation.JSONField;
import net.adetech.utils.spring.IEntity;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @author auto
 */
public class DcData implements IEntity {

    private static Map<Long, String> manTypeLableMap;

    static {
        manTypeLableMap = new HashMap<>();
        manTypeLableMap.put(100l, "涉军人员");
        manTypeLableMap.put(200l, "涉法涉诉类");
        manTypeLableMap.put(300l, "历史问题类");
        manTypeLableMap.put(400l, "举报类");
        manTypeLableMap.put(500l, "拆迁、征地类");
        manTypeLableMap.put(600l, "房地产纠纷类");
        manTypeLableMap.put(700l, "纠纷类（征地、宅基地、房产纠纷除外）");
        manTypeLableMap.put(800l, "下岗人员");
        manTypeLableMap.put(900l, "其他反映职级待遇问题类");
        manTypeLableMap.put(1000l, "邮币卡人员");
        manTypeLableMap.put(1100l, "法轮功等邪教人员");
        manTypeLableMap.put(1200l, "善心汇涉稳人员");
        manTypeLableMap.put(1300l, "群体普通成员");
        manTypeLableMap.put(1400l, "其他涉众型经济犯罪涉稳人员");
        manTypeLableMap.put(1500l, "精神病人");
    }


    @JSONField(name = "leaveTime", format = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date leaveTime;
    @JSONField(name = "addDate", format = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date addDate;
    private String updateInfo;
    private String realName;
    private String updateIp;
    private String cardType;
    @JSONField(name = "haveTime", format = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date haveTime;
    private String uuid;
    @JSONField(name = "updateDate", format = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date updateDate;
    private String space;
    private String number;
    @JSONField(name = "buyTime", format = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date buyTime;
    private String addIp;
    private String updateUser;
    private String cardNo;
    private Long id;
    private String addInfo;
    private String addUser;
    private String startAndEnd;
    private String key;
    private Boolean isDelete;
    private Date updateTime;
    private String type;
    private Date inDate;

    private Long alarmId;

    private String photo;

    private Long manType;

    private String manTypeLabel;

    @JSONField(name = "alarmDate", format = "yyyy-MM-dd HH:mm:ss")
    private Date alarmDate;


    public String getPhoto() {
        return "data:image/png;base64," + photo;
    }

    public void setPhoto(String photo) {
        this.photo = photo;
    }

    public Long getAlarmId() {
        return alarmId;
    }

    public void setAlarmId(Long alarmId) {
        this.alarmId = alarmId;
    }

    public Date getInDate() {
        return inDate;
    }

    public void setInDate(Date inDate) {
        this.inDate = inDate;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public java.util.Date getLeaveTime() {
        return leaveTime;
    }

    public void setLeaveTime(java.util.Date leaveTime) {
        this.leaveTime = leaveTime;
    }

    public java.util.Date getAddDate() {
        return addDate;
    }

    public void setAddDate(java.util.Date addDate) {
        this.addDate = addDate;
    }

    public String getUpdateInfo() {
        return updateInfo;
    }

    public void setUpdateInfo(String updateInfo) {
        this.updateInfo = updateInfo;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getUpdateIp() {
        return updateIp;
    }

    public void setUpdateIp(String updateIp) {
        this.updateIp = updateIp;
    }

    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    public Boolean getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Boolean isDelete) {
        this.isDelete = isDelete;
    }

    public java.util.Date getHaveTime() {
        return haveTime;
    }

    public void setHaveTime(java.util.Date haveTime) {
        this.haveTime = haveTime;
    }

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public java.util.Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(java.util.Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getSpace() {
        return space;
    }

    public void setSpace(String space) {
        this.space = space;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public java.util.Date getBuyTime() {
        return buyTime;
    }

    public void setBuyTime(java.util.Date buyTime) {
        this.buyTime = buyTime;
    }

    public String getAddIp() {
        return addIp;
    }

    public void setAddIp(String addIp) {
        this.addIp = addIp;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAddInfo() {
        return addInfo;
    }

    public void setAddInfo(String addInfo) {
        this.addInfo = addInfo;
    }

    public String getAddUser() {
        return addUser;
    }

    public void setAddUser(String addUser) {
        this.addUser = addUser;
    }

    public String getStartAndEnd() {
        return startAndEnd;
    }

    public void setStartAndEnd(String startAndEnd) {
        this.startAndEnd = startAndEnd;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public Long getManType() {
        return manType;
    }

    public void setManType(Long manType) {
        this.manType = manType;
        this.setManTypeLabel(manTypeLableMap.get(manType));
    }

    public String getManTypeLabel() {
        return manTypeLabel;
    }

    public void setManTypeLabel(String manTypeLabel) {
        this.manTypeLabel = manTypeLabel;
    }

    public Date getAlarmDate() {
        return alarmDate;
    }

    public void setAlarmDate(Date alarmDate) {
        this.alarmDate = alarmDate;
    }
}